package nz.ac.massey.whatiscomputerscience.core.controller;

import nz.ac.massey.whatiscomputerscience.core.model.VectorImage;


/**
 * This defines the controller part of the MVC pattern
 * Acts as a listener for user actions
 * 
 * The controller is largely a constructor and user of Animator Objects on the model
 * 
 * @author Francis Stephens
 */
public interface NiftyController
{
	/**
	 * NB: The addition of this method introduces tight coupling - is this avoidable?
	 * 
	 * @param model The model for this controller to use
	 */
	public abstract void setModel( VectorImage model );
	
	/**
	 * NB: See above
	 * 
	 * @return The model used by this controller
	 */
	public abstract VectorImage getModel( );
}